//
//  NSDate+Extension.swift
//  weiBoOfSwift
//
//  Created by simon on 15/12/12.
//  Copyright © 2015年 simon. All rights reserved.
//

import UIKit

extension NSDate{

    class func sinaDate(createdTime:String)->NSDate {
        
        let formatter = NSDateFormatter()
        formatter.dateFormat = "EEE MMM dd HH:mm:ss z yyyy"
        formatter.locale = NSLocale(localeIdentifier: "en_US")
        //        创建时间
        let create_time = formatter.dateFromString(createdTime)
        
        return create_time!
    }
    
    var sinaCreatedSting:String {
        //        当前时间
        let current_time = NSDate()
        //         判断是不是今年
        let fort = NSDateFormatter()
        fort.dateFormat = "yyyy"
        let create_year = fort.stringFromDate(self)
        let current_year = fort.stringFromDate(current_time)
        //        如果是今年
        if create_year == current_year{
            let calendar = NSCalendar.currentCalendar()
            
            if calendar.isDateInToday(self) {
                
                let sinceNow = -self.timeIntervalSinceNow
                //            是否是今天:
                if sinceNow < 60{
                    //               是否在1分钟之内:刚刚
                    fort.dateFormat = "刚刚"
                }else if sinceNow < 60 * 60 {
                    fort.dateFormat = "\(Int(sinceNow)/60)分钟前"
                    //               是否在1小时之内:xx分钟前
                }else{
                    fort.dateFormat = "\(Int(sinceNow)/3600)小时前"
                    //               其他:xx小时前
                }
            }else if calendar.isDateInYesterday(self){
                //            是否是昨天:昨天 10:10
                fort.dateFormat = "昨天 HH:mm"
                
            }else{
                //             其他: 10-11 18:18
                fort.dateFormat = "MM-dd HH:mm"
            }
        }else{
            //        不是今年
            /**
            
            如果不是今年:
            2014-10-11 19:19
            */
            fort.dateFormat = "yyyy-MM-dd HH:mm"
            
        }
         return fort.stringFromDate(self)
    }
    
    
}